<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>

    <script>

//         1. let 不能重复声明
        // var i = 10   
        // var i = ""  //ok

        // let j = 10;
        // let j = ""  //err
//         2. let 有块级作用域，非函数的花括号遇见 let 会有块级作用域，
//          也就是只能在花括号里面访问
        // {
        //     var i = 10
        //     let j = 20
        // }
        // console.log(i)
        // console.log(j)
//         3. let 不会预解析进行变量提升
        // console.log(i)
        // var i = 10

        // console.log(j)
        // let j = 20

//         4. let 定义的全局变量，不会被作为 window 的属性
        // var i = 10
        // let j = 20
        // console.log(window.i)
        // console.log(window.j)
//         5. let 在 es6 中推荐更优先使用~

        // // 声明常量
        // const PI = 3.1415926
        // PI = 3.14 //err

        // // 对应数据和对象元素修改，不算常量修改，修改的是值，而不是地址
        // const TEAM = ['刘德华','张学友','郭富城']
        // TEAM.push('黎明') // ok
        // TEAM = [] //err

        // 1 多行普通字符串
        let ulStr = 
            '<ul>' + 
            '<li>JAVA</li>'+
            '<li>C#</li>'+
            '</ul'
        console.log(ulStr)
        // 2. 多行模板字符串
        let ulStr2 = `
                <ul>
                    <li>JAVA</li>
                    <li>C#</li>
                </ul>
                `
            console.log(ulStr2)

        // 3. 普通字符串拼接
        let name = 'zzz'
        let infoStr = name + '好好学技术！'
        console.log(infoStr)

        // 4. 模板字符串拼接
        let infoStr2 = `${name}好好学JAVA！`
        console.log(infoStr2)
        
    </script>
</head>
<body>
    
</body>
</html>